const ftp = require("basic-ftp");
const path = require("path");
const fs = require("fs");

// FTP 配置信息
const ftpConfig = {
  host: "你的服务器IP地址",
  user: "FTP用户名",
  password: "FTP密码",
  secure: false, // 如果是 FTPS 设置为 true
};

// 远程目录路径
const remotePath = "/www/wwwroot/你的网站目录";

// 本地构建目录
const localPath = path.join(__dirname, "../dist");

async function deploy() {
  const client = new ftp.Client();

  try {
    console.log("🚀 开始连接到宝塔FTP服务器...");

    // 连接到FTP服务器
    await client.access(ftpConfig);
    console.log("✅ FTP连接成功！");

    // 切换到远程目录
    await client.ensureDir(remotePath);

    console.log("📁 开始上传文件...");

    // 上传整个dist目录
    await client.uploadFromDir(localPath, remotePath);

    console.log("🎉 部署完成！");
  } catch (error) {
    console.error("❌ 部署失败:", error.message);
    process.exit(1);
  } finally {
    client.close();
  }
}

// 检查dist目录是否存在
if (!fs.existsSync(localPath)) {
  console.error("❌ dist目录不存在，请先运行 npm run build");
  process.exit(1);
}

deploy();
